package com.xuelang.pipeline.artifact.infrastructure.resource.dataobject;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;

import java.util.Date;

/**
 * 仓库制品组件实体类
 *
 * @author xiwen.zxg
 * @since 2024/5/21
 */
@TableName("IM_OT_DO_REPOSITORY_COMPONENT")
@ToString
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class RepositoryComponentDO {
    /**
     * 主键，自增
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;

    /**
     * 制品包UUID
     */
    private String packageUuid;

    /**
     * 仓库实例名称
     */
    private String instanceRepositoryName;

    /**
     * 仓库UUID
     */
    private String artifactUuid;
    /**
     * 组件ID，对应Nexus3的component:id
     */
    private String scriptId;

    /**
     * 组件UUID，对应Nexus3的component:componentId
     */
    private String restId;

    /**
     * 组件格式
     */
    private String format;

    /**
     * 组件name
     */
    private String nameId;

    /**
     * 组件包名
     */
    private String packageName;

    /**
     * 组件group
     */
    private String groupId;

    /**
     * 组件版本
     */
    private String version;

    /**
     * 推送人
     */
    private String pushUser;

    /**
     * 推送时间
     */
    private Date pushTime;

    /**
     * 是否最新版本
     */
    private Boolean isLatest;

    /**
     * POM脚本
     */
    private String pomXml;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String creatorId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人ID
     */
    @TableField(fill = FieldFill.UPDATE)
    private String updaterId;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 0否/删除、1是/使用，默认值为1
     */
    private Integer useFlag;


}
